//3、导入koa-router  
//3.1导入koa-router包
const Router = require('koa-router');
//3.2实例化理由对象
const router = new Router({prefix: '/users'});
const db=[
    {id:1,name:'张三',age:18},
    {id:2,name:'李四',age:20},
    {id:3,name:'王五',age:2},
]

//3.3编写路由规则
//GET /users ----获取所有的用户信息，返回一个数组
router.get('/', async (ctx) => {
    //通过ctx.query解析键值对参数 ctx.query是ctx.request.query的代理
    const {start=0 ,end=0 }=ctx.query;
    console.log(start,end,'参数');
    const res=db.filter((item)=>item.age>=start && item.age<=end)
    //解析键值对
    res.length==0?ctx.throw(404):ctx.body = res;
    
})
// GET /users/:id ----获取指定id的用户信息，返回一个对象
router.get('/:id', async (ctx) => {
    const id = ctx.params.id;
    //const user = db.find(item => item.id === Number(id));
    const user=db.filter(item => item.id==id);
    if(!user[0]){
        ctx.throw(404,'用户不存在');
    }
    ctx.body = user[0];
})
router.post('/',async (ctx)=>{
    console.log(ctx.request.body,'ctx.request.body');
    ctx.body = '创建用户';
})
router.get('/:id/article/:id',(ctx)=>{
    console.log(ctx.params,'ctx.params');
    //没有通过ctx.body 返回数据时，默认koa 返回404错误
    //a.b
    if(false){
        ctx.body = {id:1,title:'文章1',content:'文章内容1'}
    }else{
        //return ctx.app.emit('error',{code:404,message:'资源没有找到'},ctx)
        ctx.throw(422,'参数格式不正确')
    }
})

module.exports = router;